# Copyright 2020 InterDigital Communications, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

from .image import (
    bmshj2018_factorized,
    bmshj2018_hyperprior,
    bmshj2018_hyperprior_gd,
    bmshj2018_hyperprior_gd_hyper,
    bmshj2018_hyperprior_gd_whole,
    bmshj2018_hyperprior_hit,
    bmshj2018_hyperprior_hyper_hit,
    bmshj2018_hyperprior_rr,
    bmshj2018_hyperprior_main_rr,
    bmshj2018_hyperprior_whole_rr,
    bmshj2018_hyperprior_gain,
    bmshj2018_hyperprior_gray,
    bmshj2018_hyperprior_uv,
    bmshj2018_hyperprior_colorize,
    bmshj2018_hyperprior_effi,
    cheng2020_anchor,
    cheng2020_jinming,
    cheng2020_gd,
    cheng2020_jinming_effi,
    cheng2020_jinming_rr,
    cheng2020_jinming_rr_cm,
    cheng2020_anchor_effi,
    cheng2020_attn,
    mbt2018,
    mbt2018_effi,
    mbt2018_mean,
    c_model,
    c_model_effi
)
from .pretrained import load_pretrained as load_state_dict

models = {
    "bmshj2018-factorized": bmshj2018_factorized,
    "bmshj2018-hyperprior": bmshj2018_hyperprior,
    "bmshj2018-hyperprior-gd": bmshj2018_hyperprior_gd,
    "bmshj2018-hyperprior-gd-hyper": bmshj2018_hyperprior_gd_hyper,
    "bmshj2018-hyperprior-gd-whole": bmshj2018_hyperprior_gd_whole,
    "bmshj2018-hyperprior-hit": bmshj2018_hyperprior_hit,
    "bmshj2018-hyperprior-hyper-hit": bmshj2018_hyperprior_hyper_hit,
    "bmshj2018-hyperprior-rr": bmshj2018_hyperprior_rr,
    "bmshj2018-hyperprior-main-rr": bmshj2018_hyperprior_main_rr,
    "bmshj2018-hyperprior-whole-rr": bmshj2018_hyperprior_whole_rr,
    "bmshj2018-hyperprior-gain": bmshj2018_hyperprior_gain,
    "bmshj2018-hyperprior-gray": bmshj2018_hyperprior_gray,
    "bmshj2018-hyperprior-uv": bmshj2018_hyperprior_uv,
    "bmshj2018-hyperprior-colorize": bmshj2018_hyperprior_colorize,
    "bmshj2018-hyperprior-effi": bmshj2018_hyperprior_effi,
    "mbt2018-mean": mbt2018_mean,
    "mbt2018": mbt2018,
    "mbt2018-effi": mbt2018_effi,
    "cheng2020-anchor": cheng2020_anchor,
    "cheng2020-jinming": cheng2020_jinming,
    "cheng2020-gd": cheng2020_gd,
    "cheng2020-jinming-effi": cheng2020_jinming_effi,
    "cheng2020-jinming-rr": cheng2020_jinming_rr,
    "cheng2020-jinming-rr-cm": cheng2020_jinming_rr_cm,
    "cheng2020-anchor-effi": cheng2020_anchor_effi,
    "cheng2020-attn": cheng2020_attn,
    "c-model": c_model,
    "c-model-effi": c_model_effi
}
